package com.huan.vertxle.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author 97078
 */

@NoArgsConstructor
@Data
public class ConfigParams {

//  @JsonProperty("java.runtime.name")
//  private String _$JavaRuntimeName19;// FIXME check this code
//  @JsonProperty("sun.boot.library.path")
//  private String _$SunBootLibraryPath17;// FIXME check this code
//  @JsonProperty("java.vm.version")
//  private String _$JavaVmVersion92;// FIXME check this code
//  @JsonProperty("java.vm.vendor")
//  private String _$JavaVmVendor220;// FIXME check this code
//  @JsonProperty("java.vendor.url")
//  private String _$JavaVendorUrl56;// FIXME check this code
//  @JsonProperty("path.separator")
//  private String _$PathSeparator138;// FIXME check this code
//  @JsonProperty("java.vm.name")
//  private String _$JavaVmName95;// FIXME check this code
//  @JsonProperty("file.encoding.pkg")
//  private String _$FileEncodingPkg313;// FIXME check this code
//  @JsonProperty("user.script")
//  private String _$UserScript172;// FIXME check this code
//  @JsonProperty("user.country")
//  private String _$UserCountry328;// FIXME check this code
//  @JsonProperty("sun.java.launcher")
//  private String _$SunJavaLauncher167;// FIXME check this code
//  @JsonProperty("sun.os.patch.level")
//  private String _$SunOsPatchLevel273;// FIXME check this code
//  @JsonProperty("java.vm.specification.name")
//  private String _$JavaVmSpecificationName183;// FIXME check this code
//  @JsonProperty("user.dir")
//  private String _$UserDir131;// FIXME check this code
//  @JsonProperty("intellij.debug.agent")
//  private Boolean _$IntellijDebugAgent117;// FIXME check this code
//  @JsonProperty("java.runtime.version")
//  private String _$JavaRuntimeVersion256;// FIXME check this code
//  @JsonProperty("java.awt.graphicsenv")
//  private String _$JavaAwtGraphicsenv208;// FIXME check this code
//  @JsonProperty("java.endorsed.dirs")
//  private String _$JavaEndorsedDirs253;// FIXME check this code
//  @JsonProperty("os.arch")
//  private String _$OsArch37;// FIXME check this code
//  @JsonProperty("java.io.tmpdir")
//  private String _$JavaIoTmpdir289;// FIXME check this code
//  @JsonProperty("line.separator")
//  private String _$LineSeparator66;// FIXME check this code
//  @JsonProperty("java.vm.specification.vendor")
//  private String _$JavaVmSpecificationVendor18;// FIXME check this code
//  @JsonProperty("user.variant")
//  private String _$UserVariant219;// FIXME check this code
//  @JsonProperty("os.name")
//  private String _$OsName47;// FIXME check this code
//  @JsonProperty("sun.jnu.encoding")
//  private String _$SunJnuEncoding295;// FIXME check this code
//  @JsonProperty("java.library.path")
//  private String _$JavaLibraryPath261;// FIXME check this code
//  @JsonProperty("io.netty.noJdkZlibDecoder")
//  private Boolean _$IoNettyNoJdkZlibDecoder9;// FIXME check this code
//  @JsonProperty("sun.nio.ch.bugLevel")
//  private String _$SunNioChBugLevel324;// FIXME check this code
//  @JsonProperty("jboss.modules.system.pkgs")
//  private String _$JbossModulesSystemPkgs280;// FIXME check this code
//  @JsonProperty("java.specification.name")
//  private String _$JavaSpecificationName40;// FIXME check this code
//  @JsonProperty("java.class.version")
//  private Integer _$JavaClassVersion288;// FIXME check this code
//  @JsonProperty("sun.management.compiler")
//  private String _$SunManagementCompiler320;// FIXME check this code
//  @JsonProperty("os.version")
//  private Integer _$OsVersion23;// FIXME check this code
//  @JsonProperty("user.home")
//  private String _$UserHome265;// FIXME check this code
//  @JsonProperty("user.timezone")
//  private String _$UserTimezone95;// FIXME check this code
//  @JsonProperty("java.awt.printerjob")
//  private String _$JavaAwtPrinterjob12;// FIXME check this code
//  @JsonProperty("java.specification.version")
//  private Double _$JavaSpecificationVersion281;// FIXME check this code
//  @JsonProperty("file.encoding")
//  private String _$FileEncoding293;// FIXME check this code
//  @JsonProperty("user.name")
//  private Integer _$UserName51;// FIXME check this code
//  @JsonProperty("java.class.path")
//  private String _$JavaClassPath253;// FIXME check this code
//  @JsonProperty("java.vm.specification.version")
//  private Double _$JavaVmSpecificationVersion137;// FIXME check this code
//  @JsonProperty("sun.arch.data.model")
//  private Integer _$SunArchDataModel139;// FIXME check this code
//  @JsonProperty("java.home")
//  private String _$JavaHome227;// FIXME check this code
//  @JsonProperty("sun.java.command")
//  private String _$SunJavaCommand148;// FIXME check this code
//  @JsonProperty("java.specification.vendor")
//  private String _$JavaSpecificationVendor22;// FIXME check this code
//  @JsonProperty("user.language")
//  private String _$UserLanguage237;// FIXME check this code
//  @JsonProperty("awt.toolkit")
//  private String _$AwtToolkit290;// FIXME check this code
//  @JsonProperty("java.vm.info")
//  private String _$JavaVmInfo157;// FIXME check this code
//  @JsonProperty("java.version")
//  private String _$JavaVersion14;// FIXME check this code
//  @JsonProperty("java.ext.dirs")
//  private String _$JavaExtDirs18;// FIXME check this code
//  @JsonProperty("sun.boot.class.path")
//  private String _$SunBootClassPath113;// FIXME check this code
//  @JsonProperty("java.vendor")
//  private String _$JavaVendor298;// FIXME check this code
//  @JsonProperty("file.separator")
//  private String _$FileSeparator176;// FIXME check this code
//  @JsonProperty("java.vendor.url.bug")
//  private String _$JavaVendorUrlBug103;// FIXME check this code
//  @JsonProperty("sun.cpu.endian")
//  private String _$SunCpuEndian316;// FIXME check this code
//  @JsonProperty("sun.io.unicode.encoding")
//  private String _$SunIoUnicodeEncoding90;// FIXME check this code
//  @JsonProperty("sun.desktop")
//  private String _$SunDesktop39;// FIXME check this code
//  @JsonProperty("sun.cpu.isalist")
//  private String _$SunCpuIsalist39;// FIXME check this code
//  @JsonProperty("USERDOMAIN_ROAMINGPROFILE")
//  private String userdomainRoamingprofile;
//  @JsonProperty("LOCALAPPDATA")
//  private String localappdata;
//  @JsonProperty("PROCESSOR_LEVEL")
//  private Integer processorLevel;
//  @JsonProperty("USERDOMAIN")
//  private String userdomain;
//  @JsonProperty("FPS_BROWSER_APP_PROFILE_STRING")
//  private String fpsBrowserAppProfileString;
//  @JsonProperty("LOGONSERVER")
//  private String logonserver;
//  @JsonProperty("JAVA_HOME")
//  private String javaHome;
//  @JsonProperty("SESSIONNAME")
//  private String sessionname;
//  @JsonProperty("ALLUSERSPROFILE")
//  private String allusersprofile;
//  @JsonProperty("PROCESSOR_ARCHITECTURE")
//  private String processorArchitecture;
//  @JsonProperty("PSModulePath")
//  private String pSModulePath;
//  @JsonProperty("SystemDrive")
//  private String systemDrive;
//  @JsonProperty("OneDrive")
//  private String oneDrive;
//  @JsonProperty("APPDATA")
//  private String appdata;
//  @JsonProperty("USERNAME")
//  private Integer username;
//  @JsonProperty("ProgramFiles(x86)")
//  private String _$ProgramFilesX86293;// FIXME check this code
//  @JsonProperty("CommonProgramFiles")
//  private String commonProgramFiles;
//  @JsonProperty("Path")
//  private String path;
//  @JsonProperty("FPS_BROWSER_USER_PROFILE_STRING")
//  private String fpsBrowserUserProfileString;
//  @JsonProperty("PATHEXT")
//  private String pathext;
//  @JsonProperty("DriverData")
//  private String driverData;
//  @JsonProperty("OS")
//  private String os;
//  @JsonProperty("OneDriveConsumer")
//  private String oneDriveConsumer;
//  @JsonProperty("COMPUTERNAME")
//  private String computername;
//  @JsonProperty("PROCESSOR_REVISION")
//  private Integer processorRevision;
//  @JsonProperty("CommonProgramW6432")
//  private String commonProgramW6432;
//  @JsonProperty("ComSpec")
//  private String comSpec;
//  @JsonProperty("ProgramData")
//  private String programData;
//  @JsonProperty("ProgramW6432")
//  private String programW6432;
//  @JsonProperty("HOMEPATH")
//  private String homepath;
//  @JsonProperty("SystemRoot")
//  private String systemRoot;
//  @JsonProperty("TEMP")
//  private String temp;
//  @JsonProperty("HOMEDRIVE")
//  private String homedrive;
//  @JsonProperty("PROCESSOR_IDENTIFIER")
//  private String processorIdentifier;
//  @JsonProperty("USERPROFILE")
//  private String userprofile;
//  @JsonProperty("TMP")
//  private String tmp;
//  @JsonProperty("CommonProgramFiles(x86)")
//  private String _$CommonProgramFilesX86248;// FIXME check this code
//  @JsonProperty("ProgramFiles")
//  private String programFiles;
//  @JsonProperty("PUBLIC")
//  private String publicX;
//  @JsonProperty("NUMBER_OF_PROCESSORS")
//  private Integer numberOfProcessors;
//  @JsonProperty("windir")
//  private String windir;
//  @JsonProperty("=::")
//  private String _$148;// FIXME check this code
//  @JsonProperty("IDEA_INITIAL_DIRECTORY")
//  private String ideaInitialDirectory;
  @JsonProperty("service")
  private ServiceDTO service;
  @JsonProperty("websocket")
  private WebsocketDTO websocket;
  @JsonProperty("redis")
  private RedisDTO redis;
  @JsonProperty("postgre")
  private PgSqlTO postgre;

  @NoArgsConstructor
  @Data
  public static class ServiceDTO {
    @JsonProperty("port")
    private Integer port;
  }

  @NoArgsConstructor
  @Data
  public static class WebsocketDTO {
    @JsonProperty("port")
    private Integer port;
  }

  @NoArgsConstructor
  @Data
  public static class RedisDTO {
    @JsonProperty("connection")
    private String connection;
  }

  @NoArgsConstructor
  @Data
  public static class PgSqlTO {
    @JsonProperty("host")
    private String host;
    @JsonProperty("port")
    private Integer port;
    @JsonProperty("database")
    private String database;
    @JsonProperty("user")
    private String user;
    @JsonProperty("password")
    private String password;
  }
}
